Processing math: 100%

Data Transformation Techniques (Log Transformation, Differencing)

Machine Learning - টাইম সিরিজ (Time Series) Time Series Data Preprocessing |
149
149

ডেটা ট্রান্সফরমেশন হল এমন একটি প্রক্রিয়া যা ডেটাকে বিশ্লেষণ এবং মডেলিংয়ের জন্য উপযুক্ত করতে সাহায্য করে। টাইম সিরিজ বিশ্লেষণের ক্ষেত্রে কিছু সাধারণ ট্রান্সফরমেশন টেকনিক ব্যবহার করা হয়, যার মধ্যে লগ ট্রান্সফরমেশন (Log Transformation) এবং ডিফারেন্সিং (Differencing) অন্যতম।

নিচে এই দুটি টেকনিক বিস্তারিতভাবে আলোচনা করা হলো:


১. লগ ট্রান্সফরমেশন (Log Transformation)

বর্ণনা: লগ ট্রান্সফরমেশন হল একটি মেথড যেখানে ডেটার প্রতিটি মানের উপর লগ ফাংশন প্রয়োগ করা হয়। এটি ডেটার স্কেল বা পরিসীমা সংকুচিত করতে সহায়ক, এবং বিশেষত যখন ডেটাতে বৃহৎ মান থাকে, তখন লগ ট্রান্সফরমেশন তার পার্থক্য এবং ভ্যারিয়েন্সকে কমিয়ে আনতে সাহায্য করে। এটি অনেক সময় আউটলায়ার বা বড় পরিবর্তনগুলোর প্রভাব কমাতে ব্যবহৃত হয়।

কেন ব্যবহৃত হয়:

  • স্কেলিং: বড় পরিসরের মানকে ছোট পরিসরে নিয়ে আসা।
  • আউটলায়ার হ্যান্ডলিং: অত্যন্ত বড় মান বা আউটলায়ারের প্রভাব কমানো।
  • হোমোজেনাইজিং ভ্যারিয়েন্স: ডেটার ভ্যারিয়েন্স বা বিস্তারকে আরো সমান করা।

ফর্মুলা:

y=log(y)

যেখানে y হল মূল ডেটা এবং y হল লগ ট্রান্সফর্মড ডেটা।

উদাহরণ:

import numpy as np
import matplotlib.pyplot as plt

# Sample data with large values
data = [10, 100, 1000, 10000, 100000]

# Apply log transformation
log_transformed_data = np.log(data)

# Plotting the original vs log-transformed data
plt.figure(figsize=(10, 6))
plt.subplot(1, 2, 1)
plt.plot(data)
plt.title('Original Data')

plt.subplot(1, 2, 2)
plt.plot(log_transformed_data)
plt.title('Log Transformed Data')

plt.show()

উদাহরণ ব্যাখ্যা: এখানে, বড় পরিসরের ডেটা (যেমন 100, 1000, 10000) লগ ট্রান্সফর্মেশনের মাধ্যমে ছোট পরিসরে রূপান্তরিত হয়। এটি ডেটার পার্থক্য বা বৈচিত্র্যকে সংকুচিত করে এবং বিশ্লেষণকে সহজ করে।


২. ডিফারেন্সিং (Differencing)

বর্ণনা: ডিফারেন্সিং হল একটি পদ্ধতি যা টাইম সিরিজের মধ্যে ট্রেন্ড বা সিজনালিটি সরানোর জন্য ব্যবহৃত হয়। এটি মূলত দুটি পরবর্তী সময় পয়েন্টের মধ্যে পার্থক্য বের করা। ডিফারেন্সিং টাইম সিরিজের স্টেশনারিটি অর্জনের জন্য একটি গুরুত্বপূর্ণ টেকনিক, কারণ স্টেশনারিটি নিশ্চিত করা না থাকলে মডেলিং সঠিকভাবে কাজ নাও করতে পারে।

কেন ব্যবহৃত হয়:

  • স্টেশনারিটি অর্জন: ডেটার ট্রেন্ড বা সিজনাল প্যাটার্ন সরানোর জন্য।
  • পূর্বানুমান সহজ করা: ডেটার বর্তমান মান এবং পূর্ববর্তী মানের পার্থক্য নিয়ে কাজ করা, যা মডেলিং সহজ করে।

ধরন:

  1. প্রথম পার্থক্য (First Differencing): পরবর্তী সময় পয়েন্টের মান থেকে পূর্ববর্তী সময় পয়েন্টের মান বিয়োগ করা।

    yt=ytyt1

  2. দ্বিতীয় পার্থক্য (Second Differencing): প্রথম পার্থক্যের পরবর্তী পার্থক্য।

    yt=ytyt2

উদাহরণ:

import pandas as pd

# Sample time series data
data = pd.Series([100, 120, 150, 130, 160])

# First differencing
first_diff = data.diff().dropna()

# Plotting original vs differenced data
plt.figure(figsize=(10, 6))
plt.subplot(1, 2, 1)
plt.plot(data)
plt.title('Original Data')

plt.subplot(1, 2, 2)
plt.plot(first_diff)
plt.title('Differenced Data')

plt.show()

উদাহরণ ব্যাখ্যা: এখানে, প্রথম পার্থক্য প্রয়োগ করার পর, ডেটার প্রতিটি মানের মধ্যে পার্থক্য বের করা হয়েছে, যা ট্রেন্ড সরাতে সাহায্য করেছে এবং স্টেশনারিটি অর্জন করা সহজ হয়েছে।


সারাংশ

  • লগ ট্রান্সফরমেশন: বড় ডেটা মান এবং আউটলায়ারগুলোর প্রভাব কমাতে ব্যবহার করা হয়। এটি স্কেলিং এবং ডেটার ভ্যারিয়েন্স হোমোজেনাইজ করতে সহায়ক।
  • ডিফারেন্সিং: ডেটার ট্রেন্ড বা সিজনাল প্যাটার্ন সরাতে ব্যবহৃত হয়, যা স্টেশনারিটি অর্জনের জন্য গুরুত্বপূর্ণ। এটি টাইম সিরিজ মডেলিং এবং পূর্বাভাসের জন্য সুবিধাজনক।

এই দুটি টেকনিক টাইম সিরিজ বিশ্লেষণের জন্য অত্যন্ত গুরুত্বপূর্ণ এবং ডেটাকে মডেলিংয়ের জন্য উপযুক্ত করে তোলে।

Content added By
Promotion